home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1998 November / Freeware November 1998.img / dist / fw_emacs.idb / usr / freeware / info / gnus-1.z / gnus-1 (.txt)
GNU Info File  |  1998-10-27  |  51KB  |  950 lines

  1. This is Info file ../info/gnus, produced by Makeinfo-1.63 from the
  2. input file gnus.texi.
  3.    This file documents Gnus, the GNU Emacs newsreader.
  4.    Copyright (C) 1995,96 Free Software Foundation, Inc.
  5.    Permission is granted to make and distribute verbatim copies of this
  6. manual provided the copyright notice and this permission notice are
  7. preserved on all copies.
  8.    Permission is granted to copy and distribute modified versions of
  9. this manual under the conditions for verbatim copying, provided also
  10. that the entire resulting derived work is distributed under the terms
  11. of a permission notice identical to this one.
  12.    Permission is granted to copy and distribute translations of this
  13. manual into another language, under the above conditions for modified
  14. versions.
  15. File: gnus,  Node: Top,  Next: Starting Up,  Up: (dir)
  16. The Gnus Newsreader
  17. *******************
  18.    You can read news (and mail) from within Emacs by using Gnus.  The
  19. news can be gotten by any nefarious means you can think of--NNTP, local
  20. spool or your mbox file.  All at the same time, if you want to push your
  21. luck.
  22. * Menu:
  23. * Starting Up::           Finding news can be a pain.
  24. * The Group Buffer::      Selecting, subscribing and killing groups.
  25. * The Summary Buffer::    Reading, saving and posting articles.
  26. * The Article Buffer::    Displaying and handling articles.
  27. * Composing Messages::    Information on sending mail and news.
  28. * Select Methods::        Gnus reads all messages from various select methods.
  29. * Scoring::               Assigning values to articles.
  30. * Various::               General purpose settings.
  31. * The End::               Farewell and goodbye.
  32. * Appendices::            Terminology, Emacs intro, FAQ, History, Internals.
  33. * Index::                 Variable, function and concept index.
  34. * Key Index::             Key Index.
  35. File: gnus,  Node: Starting Up,  Next: The Group Buffer,  Prev: Top,  Up: Top
  36. Starting Gnus
  37. *************
  38.    If your system administrator has set things up properly, starting
  39. Gnus and reading news is extremely easy--you just type `M-x gnus' in
  40. your Emacs.
  41.    If you want to start Gnus in a different frame, you can use the
  42. command `M-x gnus-other-frame' instead.
  43.    If things do not go smoothly at startup, you have to twiddle some
  44. variables.
  45. * Menu:
  46. * Finding the News::    Choosing a method for getting news.
  47. * The First Time::      What does Gnus do the first time you start it?
  48. * The Server is Down::  How can I read my mail then?
  49. * Slave Gnusii::        You can have more than one Gnus active at a time.
  50. * Fetching a Group::    Starting Gnus just to read a group.
  51. * New Groups::          What is Gnus supposed to do with new groups?
  52. * Startup Files::       Those pesky startup files--`.newsrc'.
  53. * Auto Save::           Recovering from a crash.
  54. * The Active File::     Reading the active file over a slow line Takes Time.
  55. * Startup Variables::   Other variables you might change.
  56. File: gnus,  Node: Finding the News,  Next: The First Time,  Up: Starting Up
  57. Finding the News
  58. ================
  59.    The `gnus-select-method' variable says where Gnus should look for
  60. news.  This variable should be a list where the first element says
  61. "how" and the second element says "where".  This method is your native
  62. method.  All groups that are not fetched with this method are foreign
  63. groups.
  64.    For instance, if the `news.somewhere.edu' NNTP server is where you
  65. want to get your daily dosage of news from, you'd say:
  66.      (setq gnus-select-method '(nntp "news.somewhere.edu"))
  67.    If you want to read directly from the local spool, say:
  68.      (setq gnus-select-method '(nnspool ""))
  69.    If you can use a local spool, you probably should, as it will almost
  70. certainly be much faster.
  71.    If this variable is not set, Gnus will take a look at the
  72. `NNTPSERVER' environment variable.  If that variable isn't set, Gnus
  73. will see whether `gnus-nntpserver-file' (`/etc/nntpserver' by default)
  74. has any opinions on the matter.  If that fails as well, Gnus will will
  75. try to use the machine that is running Emacs as an NNTP server.  That's
  76. a long-shot, though.
  77.    If `gnus-nntp-server' is set, this variable will override
  78. `gnus-select-method'.  You should therefore set `gnus-nntp-server' to
  79. `nil', which is what it is by default.
  80.    You can also make Gnus prompt you interactively for the name of an
  81. NNTP server.  If you give a non-numerical prefix to `gnus' (i.e., `C-u
  82. M-x gnus'), Gnus will let you choose between the servers in the
  83. `gnus-secondary-servers' list (if any).  You can also just type in the
  84. name of any server you feel like visiting.
  85.    However, if you use one NNTP server regularly and are just
  86. interested in a couple of groups from a different server, you would be
  87. better served by using the `B' command in the group buffer.  It will
  88. let you have a look at what groups are available, and you can subscribe
  89. to any of the groups you want to.  This also makes `.newsrc'
  90. maintenance much tidier.  *Note Foreign Groups::.
  91.    A slightly different approach to foreign groups is to set the
  92. `gnus-secondary-select-methods' variable.  The select methods listed in
  93. this variable are in many ways just as native as the
  94. `gnus-select-method' server.  They will also be queried for active
  95. files during startup (if that's required), and new newsgroups that
  96. appear on these servers will be subscribed (or not) just as native
  97. groups are.
  98.    For instance, if you use the `nnmbox' backend to read your mail, you
  99. would typically set this variable to
  100.      (setq gnus-secondary-select-methods '((nnmbox "")))
  101. File: gnus,  Node: The First Time,  Next: The Server is Down,  Prev: Finding the News,  Up: Starting Up
  102. The First Time
  103. ==============
  104.    If no startup files exist, Gnus will try to determine what groups
  105. should be subscribed by default.
  106.    If the variable `gnus-default-subscribed-newsgroups' is set, Gnus
  107. will subscribe you to just those groups in that list, leaving the rest
  108. killed.  Your system administrator should have set this variable to
  109. something useful.
  110.    Since she hasn't, Gnus will just subscribe you to a few arbitrarily
  111. picked groups (i.e., `*.newusers').  ("Arbitrary" is here defined as
  112. "whatever Lars thinks you should read".)
  113.    You'll also be subscribed to the Gnus documentation group, which
  114. should help you with most common problems.
  115.    If `gnus-default-subscribed-newsgroups' is `t', Gnus will just use
  116. the normal functions for handling new groups, and not do anything
  117. special.
  118. File: gnus,  Node: The Server is Down,  Next: Slave Gnusii,  Prev: The First Time,  Up: Starting Up
  119. The Server is Down
  120. ==================
  121.    If the default server is down, Gnus will understandably have some
  122. problems starting.  However, if you have some mail groups in addition to
  123. the news groups, you may want to start Gnus anyway.
  124.    Gnus, being the trusting sort of program, will ask whether to proceed
  125. without a native select method if that server can't be contacted.  This
  126. will happen whether the server doesn't actually exist (i.e., you have
  127. given the wrong address) or the server has just momentarily taken ill
  128. for some reason or other.  If you decide to continue and have no foreign
  129. groups, you'll find it difficult to actually do anything in the group
  130. buffer.  But, hey, that's your problem.  Blllrph!
  131.    If you know that the server is definitely down, or you just want to
  132. read your mail without bothering with the server at all, you can use the
  133. `gnus-no-server' command to start Gnus.  That might come in handy if
  134. you're in a hurry as well.
  135. File: gnus,  Node: Slave Gnusii,  Next: Fetching a Group,  Prev: The Server is Down,  Up: Starting Up
  136. Slave Gnusi
  137. ============
  138.    You might want to run more than one Emacs with more than one Gnus at
  139. the same time.  If you are using different `.newsrc' files (eg., if you
  140. are using the two different Gnusi
  141.  to read from two different servers),
  142. that is no problem whatsoever.  You just do it.
  143.    The problem appears when you want to run two Gnusi
  144.  that use the
  145. same `.newsrc' file.
  146.    To work around that problem some, we here at the Think-Tank at the
  147. Gnus Towers have come up with a new concept: "Masters" and "servants".
  148. (We have applied for a patent on this concept, and have taken out a
  149. copyright on those words.  If you wish to use those words in
  150. conjunction with each other, you have to send $1 per usage instance to
  151. me.  Usage of the patent ("Master/Slave Relationships In Computer
  152. Applications") will be much more expensive, of course.)
  153.    Anyways, you start one Gnus up the normal way with `M-x gnus' (or
  154. however you do it).  Each subsequent slave Gnusi
  155.  should be started
  156. with `M-x gnus-slave'.  These slaves won't save normal `.newsrc' files,
  157. but instead save "slave files" that contains information only on what
  158. groups have been read in the slave session.  When a master Gnus starts,
  159. it will read (and delete) these slave files, incorporating all
  160. information from them.  (The slave files will be read in the sequence
  161. they were created, so the latest changes will have precedence.)
  162.    Information from the slave files has, of course, precedence over the
  163. information in the normal (i. e., master) `.newsrc' file.
  164. File: gnus,  Node: Fetching a Group,  Next: New Groups,  Prev: Slave Gnusii,  Up: Starting Up
  165. Fetching a Group
  166. ================
  167.    It it sometime convenient to be able to just say "I want to read this
  168. group and I don't care whether Gnus has been started or not".  This is
  169. perhaps more useful for people who write code than for users, but the
  170. command `gnus-fetch-group' provides this functionality in any case.  It
  171. takes the group name as a parameter.
  172. File: gnus,  Node: New Groups,  Next: Startup Files,  Prev: Fetching a Group,  Up: Starting Up
  173. New Groups
  174. ==========
  175.    What Gnus does when it encounters a new group is determined by the
  176. `gnus-subscribe-newsgroup-method' variable.
  177.    This variable should contain a function.  Some handy pre-fab values
  178. `gnus-subscribe-zombies'
  179.      Make all new groups zombies.  You can browse the zombies later
  180.      (with `A z') and either kill them all off properly, or subscribe
  181.      to them.  This is the default.
  182. `gnus-subscribe-randomly'
  183.      Subscribe all new groups randomly.
  184. `gnus-subscribe-alphabetically'
  185.      Subscribe all new groups alphabetically.
  186. `gnus-subscribe-hierarchically'
  187.      Subscribe all new groups hierarchically.
  188. `gnus-subscribe-interactively'
  189.      Subscribe new groups interactively.  This means that Gnus will ask
  190.      you about *all* new groups.
  191. `gnus-subscribe-killed'
  192.      Kill all new groups.
  193.    A closely related variable is
  194. `gnus-subscribe-hierarchical-interactive'.  (That's quite a mouthful.)
  195. If this variable is non-`nil', Gnus will ask you in a hierarchical
  196. fashion whether to subscribe to new groups or not.  Gnus will ask you
  197. for each sub-hierarchy whether you want to descend the hierarchy or not.
  198.    One common mistake is to set the variable a few paragraphs above to
  199. `gnus-subscribe-hierarchical-interactive'.  This is an error.  This
  200. will not work.  This is ga-ga.  So don't do it.
  201.    A nice and portable way to control which new newsgroups should be
  202. subscribed (or ignored) is to put an "options" line at the start of the
  203. `.newsrc' file.  Here's an example:
  204.      options -n !alt.all !rec.all sci.all
  205.    This line obviously belongs to a serious-minded intellectual
  206. scientific person (or she may just be plain old boring), because it
  207. says that all groups that have names beginning with `alt' and `rec'
  208. should be ignored, and all groups with names beginning with `sci' should
  209. be subscribed.  Gnus will not use the normal subscription method for
  210. subscribing these groups.  `gnus-subscribe-options-newsgroup-method' is
  211. used instead.  This variable defaults to
  212. `gnus-subscribe-alphabetically'.
  213.    If you don't want to mess with your `.newsrc' file, you can just set
  214. the two variables `gnus-options-subscribe' and
  215. `gnus-options-not-subscribe'.  These two variables do exactly the same
  216. as the `.newsrc' `options -n' trick.  Both are regexps, and if the the
  217. new group matches the former, it will be unconditionally subscribed,
  218. and if it matches the latter, it will be ignored.
  219.    Yet another variable that meddles here is
  220. `gnus-auto-subscribed-groups'.  It works exactly like
  221. `gnus-options-subscribe', and is therefore really superfluous, but I
  222. thought it would be nice to have two of these.  This variable is more
  223. meant for setting some ground rules, while the other variable is used
  224. more for user fiddling.  By default this variable makes all new groups
  225. that come from mail backends (`nnml', `nnbabyl', `nnfolder', `nnmbox',
  226. and `nnmh') subscribed.  If you don't like that, just set this variable
  227. to `nil'.
  228.    If you are satisfied that you really never want to see any new
  229. groups, you could set `gnus-check-new-newsgroups' to `nil'.  This will
  230. also save you some time at startup.  Even if this variable is `nil',
  231. you can always subscribe to the new groups just by pressing `U' in the
  232. group buffer (*note Group Maintenance::.).  This variable is `t' by
  233. default.
  234.    Gnus normally determines whether a group is new or not by comparing
  235. the list of groups from the active file(s) with the lists of subscribed
  236. and dead groups.  This isn't a particularly fast method.  If
  237. `gnus-check-new-newsgroups' is `ask-server', Gnus will ask the server
  238. for new groups since the last time.  This is both faster & cheaper.
  239. This also means that you can get rid of the list of killed groups
  240. altogether, so you may set `gnus-save-killed-list' to `nil', which will
  241. save time both at startup, at exit, and all over.  Saves disk space,
  242. too.  Why isn't this the default, then?  Unfortunately, not all servers
  243. support this command.
  244.    I bet I know what you're thinking now: How do I find out whether my
  245. server supports `ask-server'?  No?  Good, because I don't have a
  246. fail-safe answer.  I would suggest just setting this variable to
  247. `ask-server' and see whether any new groups appear within the next few
  248. days.  If any do, then it works.  If any don't, then it doesn't work.
  249. I could write a function to make Gnus guess whether the server supports
  250. `ask-server', but it would just be a guess.  So I won't.  You could
  251. `telnet' to the server and say `HELP' and see whether it lists
  252. `NEWGROUPS' among the commands it understands.  If it does, then it
  253. might work.  (But there are servers that lists `NEWGROUPS' without
  254. supporting the function properly.)
  255.    This variable can also be a list of select methods.  If so, Gnus will
  256. issue an `ask-server' command to each of the select methods, and
  257. subscribe them (or not) using the normal methods.  This might be handy
  258. if you are monitoring a few servers for new groups.  A side effect is
  259. that startup will take much longer, so you can meditate while waiting.
  260. Use the mantra "dingnusdingnusdingnus" to achieve permanent bliss.
  261. File: gnus,  Node: Startup Files,  Next: Auto Save,  Prev: New Groups,  Up: Starting Up
  262. Startup Files
  263. =============
  264.    Now, you all know about the `.newsrc' file.  All subscription
  265. information is traditionally stored in this file.
  266.    Things got a bit more complicated with GNUS.  In addition to keeping
  267. the `.newsrc' file updated, it also used a file called `.newsrc.el' for
  268. storing all the information that didn't fit into the `.newsrc' file.
  269. (Actually, it also duplicated everything in the `.newsrc' file.)  GNUS
  270. would read whichever one of these files was the most recently saved,
  271. which enabled people to swap between GNUS and other newsreaders.
  272.    That was kinda silly, so Gnus went one better: In addition to the
  273. `.newsrc' and `.newsrc.el' files, Gnus also has a file called
  274. `.newsrc.eld'.  It will read whichever of these files that are most
  275. recent, but it will never write a `.newsrc.el' file.
  276.    You can turn off writing the `.newsrc' file by setting
  277. `gnus-save-newsrc-file' to `nil', which means you can delete the file
  278. and save some space, as well as making exit from Gnus faster.  However,
  279. this will make it impossible to use other newsreaders than Gnus.  But
  280. hey, who would want to, right?
  281.    If `gnus-save-killed-list' (default `t') is `nil', Gnus will not
  282. save the list of killed groups to the startup file.  This will save
  283. both time (when starting and quitting) and space (on disk).  It will
  284. also means that Gnus has no record of what groups are new or old, so
  285. the automatic new groups subscription methods become meaningless.  You
  286. should always set `gnus-check-new-newsgroups' to `nil' or `ask-server'
  287. if you set this variable to `nil' (*note New Groups::.).
  288.    The `gnus-startup-file' variable says where the startup files are.
  289. The default value is `~/.newsrc', with the Gnus (El Dingo) startup file
  290. being whatever that one is with a `.eld' appended.
  291.    `gnus-save-newsrc-hook' is called before saving any of the newsrc
  292. files, while `gnus-save-quick-newsrc-hook' is called just before saving
  293. the `.newsrc.eld' file, and `gnus-save-standard-newsrc-hook' is called
  294. just before saving the `.newsrc' file.  The latter two are commonly
  295. used to turn version control on or off.  Version control is off by
  296. default when saving the startup files.
  297. File: gnus,  Node: Auto Save,  Next: The Active File,  Prev: Startup Files,  Up: Starting Up
  298. Auto Save
  299. =========
  300.    Whenever you do something that changes the Gnus data (reading
  301. articles, catching up, killing/subscribing groups), the change is added
  302. to a special "dribble buffer".  This buffer is auto-saved the normal
  303. Emacs way.  If your Emacs should crash before you have saved the
  304. `.newsrc' files, all changes you have made can be recovered from this
  305. file.
  306.    If Gnus detects this file at startup, it will ask the user whether to
  307. read it.  The auto save file is deleted whenever the real startup file
  308. is saved.
  309.    If `gnus-use-dribble-file' is `nil', Gnus won't create and maintain
  310. a dribble buffer.  The default is `t'.
  311.    Gnus will put the dribble file(s) in `gnus-dribble-directory'.  If
  312. this variable is `nil', which it is by default, Gnus will dribble into
  313. the directory where the `.newsrc' file is located.  (This is normally
  314. the user's home directory.)  The dribble file will get the same file
  315. permissions as the `.newsrc' file.
  316. File: gnus,  Node: The Active File,  Next: Startup Variables,  Prev: Auto Save,  Up: Starting Up
  317. The Active File
  318. ===============
  319.    When Gnus starts, or indeed whenever it tries to determine whether
  320. new articles have arrived, it reads the active file.  This is a very
  321. large file that lists all the active groups and articles on the server.
  322.    Before examining the active file, Gnus deletes all lines that match
  323. the regexp `gnus-ignored-newsgroups'.  This is done primarily to reject
  324. any groups with bogus names, but you can use this variable to make Gnus
  325. ignore hierarchies you aren't ever interested in.  However, this is not
  326. recommended.  In fact, it's highly discouraged.  Instead, *note New
  327. Groups::. for an overview of other variables that can be used instead.
  328.    The active file can be rather Huge, so if you have a slow network,
  329. you can set `gnus-read-active-file' to `nil' to prevent Gnus from
  330. reading the active file.  This variable is `t' by default.
  331.    Gnus will try to make do by getting information just on the groups
  332. that you actually subscribe to.
  333.    Note that if you subscribe to lots and lots of groups, setting this
  334. variable to `nil' will probably make Gnus slower, not faster.  At
  335. present, having this variable `nil' will slow Gnus down considerably,
  336. unless you read news over a 2400 baud modem.
  337.    This variable can also have the value `some'.  Gnus will then
  338. attempt to read active info only on the subscribed groups.  On some
  339. servers this is quite fast (on sparkling, brand new INN servers that
  340. support the `LIST ACTIVE group' command), on others this isn't fast at
  341. all.  In any case, `some' should be faster than `nil', and is certainly
  342. faster than `t' over slow lines.
  343.    If this variable is `nil', Gnus will ask for group info in total
  344. lock-step, which isn't very fast.  If it is `some' and you use an NNTP
  345. server, Gnus will pump out commands as fast as it can, and read all the
  346. replies in one swoop.  This will normally result in better performance,
  347. but if the server does not support the aforementioned `LIST ACTIVE
  348. group' command, this isn't very nice to the server.
  349.    In any case, if you use `some' or `nil', you should definitely kill
  350. all groups that you aren't interested in to speed things up.
  351. File: gnus,  Node: Startup Variables,  Prev: The Active File,  Up: Starting Up
  352. Startup Variables
  353. =================
  354. `gnus-load-hook'
  355.      A hook that is run while Gnus is being loaded.  Note that this
  356.      hook will normally be run just once in each Emacs session, no
  357.      matter how many times you start Gnus.
  358. `gnus-startup-hook'
  359.      A hook that is run after starting up Gnus successfully.
  360. `gnus-check-bogus-newsgroups'
  361.      If non-`nil', Gnus will check for and delete all bogus groups at
  362.      startup.  A "bogus group" is a group that you have in your
  363.      `.newsrc' file, but doesn't exist on the news server.  Checking for
  364.      bogus groups can take quite a while, so to save time and resources
  365.      it's best to leave this option off, and do the checking for bogus
  366.      groups once in a while from the group buffer instead (*note Group
  367.      Maintenance::.).
  368. `gnus-inhibit-startup-message'
  369.      If non-`nil', the startup message won't be displayed.  That way,
  370.      your boss might not notice that you are reading news instead of
  371.      doing your job as easily.
  372. `gnus-no-groups-message'
  373.      Message displayed by Gnus when no groups are available.
  374. File: gnus,  Node: The Group Buffer,  Next: The Summary Buffer,  Prev: Starting Up,  Up: Top
  375. The Group Buffer
  376. ****************
  377.    The "group buffer" lists all (or parts) of the available groups.  It
  378. is the first buffer shown when Gnus starts, and will never be killed as
  379. long as Gnus is active.
  380. * Menu:
  381. * Group Buffer Format::    Information listed and how you can change it.
  382. * Group Maneuvering::      Commands for moving in the group buffer.
  383. * Selecting a Group::      Actually reading news.
  384. * Subscription Commands::  Unsubscribing, killing, subscribing.
  385. * Group Levels::           Levels? What are those, then?
  386. * Group Score::            A mechanism for finding out what groups you like.
  387. * Marking Groups::         You can mark groups for later processing.
  388. * Foreign Groups::         Creating and editing groups.
  389. * Group Parameters::       Each group may have different parameters set.
  390. * Listing Groups::         Gnus can list various subsets of the groups.
  391. * Sorting Groups::         Re-arrange the group order.
  392. * Group Maintenance::      Maintaining a tidy `.newsrc' file.
  393. * Browse Foreign Server::  You can browse a server.  See what it has to offer.
  394. * Exiting Gnus::           Stop reading news and get some work done.
  395. * Group Topics::           A folding group mode divided into topics.
  396. * Misc Group Stuff::       Other stuff that you can to do.
  397. File: gnus,  Node: Group Buffer Format,  Next: Group Maneuvering,  Up: The Group Buffer
  398. Group Buffer Format
  399. ===================
  400. * Menu:
  401. * Group Line Specification::       Deciding how the group buffer is to look.
  402. * Group Modeline Specification::   The group buffer modeline.
  403. * Group Highlighting::             Having nice colors in the group buffer.
  404. File: gnus,  Node: Group Line Specification,  Next: Group Modeline Specification,  Up: Group Buffer Format
  405. Group Line Specification
  406. ------------------------
  407.    The default format of the group buffer is nice and dull, but you can
  408. make it as exciting and ugly as you feel like.
  409.    Here's a couple of example group lines:
  410.           25: news.announce.newusers
  411.       *    0: alt.fan.andrea-dworkin
  412.    Quite simple, huh?
  413.    You can see that there are 25 unread articles in
  414. `news.announce.newusers'.  There are no unread articles, but some
  415. ticked articles, in `alt.fan.andrea-dworkin' (see that little asterisk
  416. at the beginning of the line?)
  417.    You can change that format to whatever you want by fiddling with the
  418. `gnus-group-line-format' variable.  This variable works along the lines
  419. of a `format' specification, which is pretty much the same as a
  420. `printf' specifications, for those of you who use (feh!) C.  *Note
  421. Formatting Variables::.
  422.    The default value that produced those lines above is `%M%S%5y:
  423. %(%g%)\n'.
  424.    There should always be a colon on the line; the cursor always moves
  425. to the colon after performing an operation.  Nothing else is
  426. required--not even the group name.  All displayed text is just window
  427. dressing, and is never examined by Gnus.  Gnus stores all real
  428. information it needs using text properties.
  429.    (Note that if you make a really strange, wonderful, spreadsheet-like
  430. layout, everybody will believe you are hard at work with the accounting
  431. instead of wasting time reading news.)
  432.    Here's a list of all available format characters:
  433.      Only marked articles.
  434.      Whether the group is subscribed.
  435.      Level of subscribedness.
  436.      Number of unread articles.
  437.      Number of dormant articles.
  438.      Number of ticked articles.
  439.      Number of read articles.
  440.      Total number of articles.
  441.      Number of unread, unticked, non-dormant articles.
  442.      Number of ticked and dormant articles.
  443.      Full group name.
  444.      Group name.
  445.      Newsgroup description.
  446.      `m' if moderated.
  447.      `(m)' if moderated.
  448.      Select method.
  449.      Select from where.
  450.      A string that looks like `<%s:%n>' if a foreign select method is
  451.      used.
  452.      Indentation based on the level of the topic (*note Group
  453.      Topics::.).
  454.      Short (collapsed) group name.  The `gnus-group-uncollapsed-levels'
  455.      variable says how many levels to leave at the end of the group
  456.      name.  The default is `1'.
  457.      User defined specifier.  The next character in the format string
  458.      should be a letter.  GNUS will call the function
  459.      `gnus-user-format-function-'`X', where `X' is the letter following
  460.      `%u'.  The function will be passed the current headers as
  461.      argument.  The function should return a string, which will be
  462.      inserted into the buffer just like information from any other
  463.      specifier.
  464.    All the "number-of" specs will be filled with an asterisk (`*') if
  465. no info is available--for instance, if it is a non-activated foreign
  466. group, or a bogus (or semi-bogus) native group.
  467. File: gnus,  Node: Group Modeline Specification,  Next: Group Highlighting,  Prev: Group Line Specification,  Up: Group Buffer Format
  468. Group Modeline Specification
  469. ----------------------------
  470.    The mode line can be changed by setting
  471. (`gnus-group-mode-line-format').  It doesn't understand that many
  472. format specifiers:
  473.      The native news server.
  474.      The native select method.
  475. File: gnus,  Node: Group Highlighting,  Prev: Group Modeline Specification,  Up: Group Buffer Format
  476. Group Highlighting
  477. ------------------
  478.    Highlighting in the group buffer is controlled by the
  479. `gnus-group-highlight' variable.  This is an alist with elements that
  480. look like (FORM . FACE).  If FORM evaluates to something non-`nil', the
  481. FACE will be used on the line.
  482.    Here's an example value for this variable that might look nice if the
  483. background is dark:
  484.      (setq gnus-group-highlight
  485.          `(((> unread 200) .
  486.             ,(custom-face-lookup "Red" nil nil t nil nil))
  487.            ((and (< level 3) (zerop unread)) .
  488.             ,(custom-face-lookup "SeaGreen" nil nil t nil nil))
  489.            ((< level 3) .
  490.             ,(custom-face-lookup "SpringGreen" nil nil t nil nil))
  491.            ((zerop unread) .
  492.             ,(custom-face-lookup "SteelBlue" nil nil t nil nil))
  493.            (t .
  494.             ,(custom-face-lookup "SkyBlue" nil nil t nil nil))
  495.            ))
  496.    Variables that are dynamically bound when the forms are evaluated
  497. include:
  498. `group'
  499.      The group name.
  500. `unread'
  501.      The number of unread articles in the group.
  502. `method'
  503.      The select method.
  504. `mailp'
  505.      Whether the group is a mail group.
  506. `level'
  507.      The level of the group.
  508. `score'
  509.      The score of the group.
  510. `ticked'
  511.      The number of ticked articles in the group.
  512. `topic'
  513.      When using the topic minor mode, this variable is bound to the
  514.      current topic being inserted.
  515.    When the forms are `eval'ed, point is at the beginning of the line
  516. of the group in question, so you can use many of the normal Gnus
  517. functions for snarfing info on the group.
  518.    `gnus-group-update-hook' is called when a group line is changed.  It
  519. will not be called when `gnus-visual' is `nil'.  This hook calls
  520. `gnus-group-highlight-line' by default.
  521. File: gnus,  Node: Group Maneuvering,  Next: Selecting a Group,  Prev: Group Buffer Format,  Up: The Group Buffer
  522. Group Maneuvering
  523. =================
  524.    All movement commands understand the numeric prefix and will behave
  525. as expected, hopefully.
  526.      Go to the next group that has unread articles
  527.      (`gnus-group-next-unread-group').
  528. `DEL'
  529.      Go to the previous group group that has unread articles
  530.      (`gnus-group-prev-unread-group').
  531.      Go to the next group (`gnus-group-next-group').
  532.      Go to the previous group (`gnus-group-prev-group').
  533. `M-p'
  534.      Go to the next unread group on the same level (or lower)
  535.      (`gnus-group-next-unread-group-same-level').
  536. `M-n'
  537.      Go to the previous unread group on the same level (or lower)
  538.      (`gnus-group-prev-unread-group-same-level').
  539.    Three commands for jumping to groups:
  540.      Jump to a group (and make it visible if it isn't already)
  541.      (`gnus-group-jump-to-group').  Killed groups can be jumped to, just
  542.      like living groups.
  543.      Jump to the unread group with the lowest level
  544.      (`gnus-group-best-unread-group').
  545.      Jump to the first group with unread articles
  546.      (`gnus-group-first-unread-group').
  547.    If `gnus-group-goto-unread' is `nil', all the movement commands will
  548. move to the next group, not the next unread group.  Even the commands
  549. that say they move to the next unread group.  The default is `t'.
  550. File: gnus,  Node: Selecting a Group,  Next: Subscription Commands,  Prev: Group Maneuvering,  Up: The Group Buffer
  551. Selecting a Group
  552. =================
  553. `SPACE'
  554.      Select the current group, switch to the summary buffer and display
  555.      the first unread article (`gnus-group-read-group').  If there are
  556.      no unread articles in the group, or if you give a non-numerical
  557.      prefix to this command, Gnus will offer to fetch all the old
  558.      articles in this group from the server.  If you give a numerical
  559.      prefix N, Gnus will fetch N number of articles.  If N is positive,
  560.      fetch the N newest articles, if N is negative, fetch the ABS(N)
  561.      oldest articles.
  562. `RET'
  563.      Select the current group and switch to the summary buffer
  564.      (`gnus-group-select-group').  Takes the same arguments as
  565.      `gnus-group-read-group'--the only difference is that this command
  566.      does not display the first unread article automatically upon group
  567.      entry.
  568. `M-RET'
  569.      This does the same as the command above, but tries to do it with
  570.      the minimum amount off fuzz (`gnus-group-quick-select-group').  No
  571.      scoring/killing will be performed, there will be no highlights and
  572.      no expunging.  This might be useful if you're in a real hurry and
  573.      have to enter some humongous group.
  574. `M-SPACE'
  575.      This is yet one more command that does the same as the one above,
  576.      but this one does it without expunging and hiding dormants
  577.      (`gnus-group-visible-select-group').
  578.      Mark all unticked articles in this group as read
  579.      (`gnus-group-catchup-current').  `gnus-group-catchup-group-hook'
  580.      is when catching up a group from the group buffer.
  581.      Mark all articles in this group, even the ticked ones, as read
  582.      (`gnus-group-catchup-current-all').
  583.    The `gnus-large-newsgroup' variable says what Gnus should consider
  584. to be a big group.  This is 200 by default.  If the group has more
  585. unread articles than this, Gnus will query the user before entering the
  586. group.  The user can then specify how many articles should be fetched
  587. from the server.  If the user specifies a negative number (`-n'), the
  588. `n' oldest articles will be fetched.  If it is positive, the `n'
  589. articles that have arrived most recently will be fetched.
  590.    `gnus-auto-select-first' control whether any articles are selected
  591. automatically when entering a group.
  592. `nil'
  593.      Don't select any articles when entering the group.  Just display
  594.      the full summary buffer.
  595.      Select the first unread article when entering the group.
  596. `best'
  597.      Select the most high-scored article in the group when entering the
  598.      group.
  599.    If you want to prevent automatic selection in some group (say, in a
  600. binary group with Huge articles) you can set this variable to `nil' in
  601. `gnus-select-group-hook', which is called when a group is selected.
  602. File: gnus,  Node: Subscription Commands,  Next: Group Levels,  Prev: Selecting a Group,  Up: The Group Buffer
  603. Subscription Commands
  604. =====================
  605. `S t'
  606.      Toggle subscription to the current group
  607.      (`gnus-group-unsubscribe-current-group').
  608. `S s'
  609.      Prompt for a group to subscribe, and then subscribe it.  If it was
  610.      subscribed already, unsubscribe it instead
  611.      (`gnus-group-unsubscribe-group').
  612. `S k'
  613. `C-k'
  614.      Kill the current group (`gnus-group-kill-group').
  615. `S y'
  616. `C-y'
  617.      Yank the last killed group (`gnus-group-yank-group').
  618. `C-x C-t'
  619.      Transpose two groups (`gnus-group-transpose-groups').  This isn't
  620.      really a subscription command, but you can use it instead of a
  621.      kill-and-yank sequence sometimes.
  622. `S w'
  623. `C-w'
  624.      Kill all groups in the region (`gnus-group-kill-region').
  625. `S z'
  626.      Kill all zombie groups (`gnus-group-kill-all-zombies').
  627. `S C-k'
  628.      Kill all groups on a certain level (`gnus-group-kill-level').
  629.      These groups can't be yanked back after killing, so this command
  630.      should be used with some caution.  The only thing where this
  631.      command comes in really handy is when you have a `.newsrc' with
  632.      lots of unsubscribed groups that you want to get rid off.  `S C-k'
  633.      on level `7' will kill off all unsubscribed groups that do not
  634.      have message numbers in the `.newsrc' file.
  635.    Also *note Group Levels::..
  636. File: gnus,  Node: Group Levels,  Next: Group Score,  Prev: Subscription Commands,  Up: The Group Buffer
  637. Group Levels
  638. ============
  639.    All groups have a level of "subscribedness".  For instance, if a
  640. group is on level 2, it is more subscribed than a group on level 5.  You
  641. can ask Gnus to just list groups on a given level or lower (*note
  642. Listing Groups::.), or to just check for new articles in groups on a
  643. given level or lower (*note Scanning New Messages::.).
  644.    Remember:  The higher the level of the group, the less important it
  645. `S l'
  646.      Set the level of the current group.  If a numeric prefix is given,
  647.      the next N groups will have their levels set.  The user will be
  648.      prompted for a level.
  649.    Gnus considers groups on between levels 1 and
  650. `gnus-level-subscribed' (inclusive) (default 5) to be subscribed,
  651. `gnus-level-subscribed' (exclusive) and `gnus-level-unsubscribed'
  652. (inclusive) (default 7) to be unsubscribed, `gnus-level-zombie' to be
  653. zombies (walking dead) (default 8) and `gnus-level-killed' to be killed
  654. (default 9), completely dead.  Gnus treats subscribed and unsubscribed
  655. groups exactly the same, but zombie and killed groups have no
  656. information on what articles you have read, etc, stored.  This
  657. distinction between dead and living groups isn't done because it is
  658. nice or clever, it is done purely for reasons of efficiency.
  659.    It is recommended that you keep all your mail groups (if any) on
  660. quite low levels (eg. 1 or 2).
  661.    If you want to play with the level variables, you should show some
  662. care.  Set them once, and don't touch them ever again.  Better yet,
  663. don't touch them at all unless you know exactly what you're doing.
  664.    Two closely related variables are `gnus-level-default-subscribed'
  665. (default 3) and `gnus-level-default-unsubscribed' (default 6), which
  666. are the levels that new groups will be put on if they are
  667. (un)subscribed.  These two variables should, of course, be inside the
  668. relevant legal ranges.
  669.    If `gnus-keep-same-level' is non-`nil', some movement commands will
  670. only move to groups that are of the same level (or lower).  In
  671. particular, going from the last article in one group to the next group
  672. will go to the next group of the same level (or lower).  This might be
  673. handy if you want to read the most important groups before you read the
  674. rest.
  675.    All groups with a level less than or equal to
  676. `gnus-group-default-list-level' will be listed in the group buffer by
  677. default.
  678.    If `gnus-group-list-inactive-groups' is non-`nil', non-active groups
  679. will be listed along with the unread groups.  This variable is `t' by
  680. default.  If it is `nil', inactive groups won't be listed.
  681.    If `gnus-group-use-permanent-levels' is non-`nil', once you give a
  682. level prefix to `g' or `l', all subsequent commands will use this level
  683. as the "work" level.
  684.    Gnus will normally just activate groups that are on level
  685. `gnus-activate-level' or less.  If you don't want to activate
  686. unsubscribed groups, for instance, you might set this variable to `5'.
  687. File: gnus,  Node: Group Score,  Next: Marking Groups,  Prev: Group Levels,  Up: The Group Buffer
  688. Group Score
  689. ===========
  690.    You would normally keep important groups on high levels, but that
  691. scheme is somewhat restrictive.  Don't you wish you could have Gnus
  692. sort the group buffer according to how often you read groups, perhaps?
  693. Within reason?
  694.    This is what "group score" is for.  You can assign a score to each
  695. group.  You can then sort the group buffer based on this score.
  696. Alternatively, you can sort on score and then level.  (Taken together,
  697. the level and the score is called the "rank" of the group.  A group
  698. that is on level 4 and has a score of 1 has a higher rank than a group
  699. on level 5 that has a score of 300.  (The level is the most significant
  700. part and the score is the least significant part.)
  701.    If you want groups you read often to get higher scores than groups
  702. you read seldom you can add the `gnus-summary-bubble-group' function to
  703. the `gnus-summary-exit-hook' hook.  This will result (after sorting) in
  704. a bubbling sort of action.  If you want to see that in action after
  705. each summary exit, you can add `gnus-group-sort-groups-by-rank' or
  706. `gnus-group-sort-groups-by-score' to the same hook, but that will slow
  707. things down somewhat.
  708. File: gnus,  Node: Marking Groups,  Next: Foreign Groups,  Prev: Group Score,  Up: The Group Buffer
  709. Marking Groups
  710. ==============
  711.    If you want to perform some command on several groups, and they
  712. appear subsequently in the group buffer, you would normally just give a
  713. numerical prefix to the command.  Most group commands will then do your
  714. bidding on those groups.
  715.    However, if the groups are not in sequential order, you can still
  716. perform a command on several groups.  You simply mark the groups first
  717. with the process mark and then execute the command.
  718. `M m'
  719.      Set the mark on the current group (`gnus-group-mark-group').
  720. `M-#'
  721. `M u'
  722.      Remove the mark from the current group (`gnus-group-unmark-group').
  723. `M U'
  724.      Remove the mark from all groups (`gnus-group-unmark-all-groups').
  725. `M w'
  726.      Mark all groups between point and mark (`gnus-group-mark-region').
  727. `M b'
  728.      Mark all groups in the buffer (`gnus-group-mark-buffer').
  729. `M r'
  730.      Mark all groups that match some regular expression
  731.      (`gnus-group-mark-regexp').
  732.    Also *note Process/Prefix::..
  733.    If you want to execute some command on all groups that have been
  734. marked with the process mark, you can use the `M-&'
  735. (`gnus-group-universal-argument') command.  It will prompt you for the
  736. command to be executed.
  737. File: gnus,  Node: Foreign Groups,  Next: Group Parameters,  Prev: Marking Groups,  Up: The Group Buffer
  738. Foreign Groups
  739. ==============
  740.    Here are some group mode commands for making and editing general
  741. foreign groups, as well as commands to ease the creation of a few
  742. special-purpose groups:
  743. `G m'
  744.      Make a new group (`gnus-group-make-group').  Gnus will prompt you
  745.      for a name, a method and possibly an "address".  For an easier way
  746.      to subscribe to NNTP groups, *note Browse Foreign Server::..
  747. `G r'
  748.      Rename the current group to something else
  749.      (`gnus-group-rename-group').  This is legal only on some groups -
  750.      mail groups mostly.  This command might very well be quite slow on
  751.      some backends.
  752. `G e'
  753.      Enter a buffer where you can edit the select method of the current
  754.      group (`gnus-group-edit-group-method').
  755. `G p'
  756.      Enter a buffer where you can edit the group parameters
  757.      (`gnus-group-edit-group-parameters').
  758. `G E'
  759.      Enter a buffer where you can edit the group info
  760.      (`gnus-group-edit-group').
  761. `G d'
  762.      Make a directory group.  You will be prompted for a directory name
  763.      (`gnus-group-make-directory-group').
  764. `G h'
  765.      Make the Gnus help group (`gnus-group-make-help-group').
  766. `G a'
  767.      Make a Gnus archive group (`gnus-group-make-archive-group').  By
  768.      default a group pointing to the most recent articles will be
  769.      created (`gnus-group-recent-archive-directory'), but given a
  770.      prefix, a full group will be created from from
  771.      `gnus-group-archive-directory'.
  772. `G k'
  773.      Make a kiboze group.  You will be prompted for a name, for a
  774.      regexp to match groups to be "included" in the kiboze group, and a
  775.      series of strings to match on headers
  776.      (`gnus-group-make-kiboze-group').  *Note Kibozed Groups::
  777. `G D'
  778.      Read an arbitrary directory as if with were a newsgroup with the
  779.      `nneething' backend (`gnus-group-enter-directory').
  780. `G f'
  781.      Make a group based on some file or other
  782.      (`gnus-group-make-doc-group').  If you give a prefix to this
  783.      command, you will be prompted for a file name and a file type.
  784.      Currently supported types are `babyl', `mbox', `digest', `mmdf',
  785.      `news', `rnews', `clari-briefs', and `forward'.  If you run this
  786.      command without a prefix, Gnus will guess at the file type.
  787. `G DEL'
  788.      This function will delete the current group
  789.      (`gnus-group-delete-group').  If given a prefix, this function will
  790.      actually delete all the articles in the group, and forcibly remove
  791.      the group itself from the face of the Earth.  Use a prefix only if
  792.      you are absolutely sure of what you are doing.
  793. `G V'
  794.      Make a new, fresh, empty `nnvirtual' group
  795.      (`gnus-group-make-empty-virtual').
  796. `G v'
  797.      Add the current group to an `nnvirtual' group
  798.      (`gnus-group-add-to-virtual').  Uses the process/prefix convention.
  799.    *Note Select Methods:: for more information on the various select
  800. methods.
  801.    If the `gnus-activate-foreign-newsgroups' is a positive number, Gnus
  802. will check all foreign groups with this level or lower at startup.
  803. This might take quite a while, especially if you subscribe to lots of
  804. groups from different NNTP servers.
  805. File: gnus,  Node: Group Parameters,  Next: Listing Groups,  Prev: Foreign Groups,  Up: The Group Buffer
  806. Group Parameters
  807. ================
  808.    Gnus stores all information on a group in a list that is usually
  809. known as the "group info".  This list has from three to six elements.
  810. Here's an example info.
  811.      ("nnml:mail.ding" 3 ((1 . 232) 244 (256 . 270)) ((tick 246 249))
  812.                        (nnml "private") ((to-address . "ding@ifi.uio.no")))
  813.    The first element is the "group name", as Gnus knows the group,
  814. anyway.  The second element is the "subscription level", which normally
  815. is a small integer.  The third element is a list of ranges of read
  816. articles.  The fourth element is a list of lists of article marks of
  817. various kinds.  The fifth element is the select method (or virtual
  818. server, if you like).  The sixth element is a list of "group
  819. parameters", which is what this section is about.
  820.    Any of the last three elements may be missing if they are not
  821. required.  In fact, the vast majority of groups will normally only have
  822. the first three elements, which saves quite a lot of cons cells.
  823.    The group parameters store information local to a particular group:
  824. `to-address'
  825.      If the group parameter list contains an element that looks like
  826.      `(to-address .  "some@where.com")', that address will be used by
  827.      the backend when doing followups and posts.  This is primarily
  828.      useful in mail groups that represent closed mailing lists--mailing
  829.      lists where it's expected that everybody that writes to the
  830.      mailing list is subscribed to it.  Since using this parameter
  831.      ensures that the mail only goes to the mailing list itself, it
  832.      means that members won't receive two copies of your followups.
  833.      Using `to-address' will actually work whether the group is foreign
  834.      or not.  Let's say there's a group on the server that is called
  835.      `fa.4ad-l'.  This is a real newsgroup, but the server has gotten
  836.      the articles from a mail-to-news gateway.  Posting directly to this
  837.      group is therefore impossible--you have to send mail to the mailing
  838.      list address instead.
  839. `to-list'
  840.      If the group parameter list has an element that looks like
  841.      `(to-list . "some@where.com")', that address will be used when
  842.      doing a `a' in any group.  It is totally ignored when doing a
  843.      followup--except that if it is present in a news group, you'll get
  844.      mail group semantics when doing `f'.
  845. `broken-reply-to'
  846.      Elements like `(broken-reply-to . t)' signals that `Reply-To'
  847.      headers in this group are to be ignored.  This can be useful if
  848.      you're reading a mailing list group where the listserv has inserted
  849.      `Reply-To' headers that point back to the listserv itself.  This is
  850.      broken behavior.  So there!
  851. `to-group'
  852.      If the group parameter list contains an element like `(to-group .
  853.      "some.group.name")', all posts will be sent to that group.
  854. `auto-expire'
  855.      If this symbol is present in the group parameter list, all
  856.      articles that are read will be marked as expirable.  For an
  857.      alternative approach, *note Expiring Mail::..
  858. `total-expire'
  859.      If this symbol is present, all read articles will be put through
  860.      the expiry process, even if they are not marked as expirable.  Use
  861.      with caution.
  862. `expiry-wait'
  863.      If the group parameter has an element that looks like `(expiry-wait
  864.      . 10)', this value will override any `nnmail-expiry-wait' and
  865.      `nnmail-expiry-wait-function' when expiring expirable messages.
  866.      The value can either be a number of days (not necessarily an
  867.      integer) or the symbols `never' or `immediate'.
  868. `score-file'
  869.      Elements that look like `(score-file . "file")' will make `file'
  870.      into the current score file for the group in question.  This means
  871.      that all score commands you issue will end up in that file.
  872. `admin-address'
  873.      When unsubscribing to a mailing list you should never send the
  874.      unsubscription notice to the mailing list itself.  Instead, you'd
  875.      send messages to the administrative address.  This parameter
  876.      allows you to put the admin address somewhere convenient.
  877. `comment'
  878.      This parameter allows you to enter a arbitrary comment on the
  879.      group.
  880. `(VARIABLE FORM)'
  881.      You can use the group parameters to set variables local to the
  882.      group you are entering.  Say you want to turn threading off in
  883.      `news.answers'.  You'd then put `(gnus-show-threads nil)' in the
  884.      group parameters of that group.  `gnus-show-threads' will be made
  885.      into a local variable in the summary buffer you enter, and the form
  886.      `nil' will be `eval'ed there.
  887.      This can also be used as a group-specific hook function, if you'd
  888.      like.  If you want to hear a beep when you enter the group
  889.      `alt.binaries.pictures.furniture', you could put something like
  890.      `(dummy-variable (ding))' in the parameters of that group.
  891.      `dummy-variable' will be set to the result of the `(ding)' form,
  892.      but who cares?
  893.    If you want to change the group info you can use the `G E' command
  894. to enter a buffer where you can edit it.
  895.    You usually don't want to edit the entire group info, so you'd be
  896. better off using the `G p' command to just edit the group parameters.
  897. File: gnus,  Node: Listing Groups,  Next: Sorting Groups,  Prev: Group Parameters,  Up: The Group Buffer
  898. Listing Groups
  899. ==============
  900.    These commands all list various slices of the groups that are
  901. available.
  902. `A s'
  903.      List all groups that have unread articles
  904.      (`gnus-group-list-groups').  If the numeric prefix is used, this
  905.      command will list only groups of level ARG and lower.  By default,
  906.      it only lists groups of level five or lower (i.e., just subscribed
  907.      groups).
  908. `A u'
  909.      List all groups, whether they have unread articles or not
  910.      (`gnus-group-list-all-groups').  If the numeric prefix is used,
  911.      this command will list only groups of level ARG and lower.  By
  912.      default, it lists groups of level seven or lower (i.e., just
  913.      subscribed and unsubscribed groups).
  914. `A l'
  915.      List all unread groups on a specific level
  916.      (`gnus-group-list-level').  If given a prefix, also list the groups
  917.      with no unread articles.
  918. `A k'
  919.      List all killed groups (`gnus-group-list-killed').  If given a
  920.      prefix argument, really list all groups that are available, but
  921.      aren't currently (un)subscribed.  This could entail reading the
  922.      active file from the server.
  923. `A z'
  924.      List all zombie groups (`gnus-group-list-zombies').
  925. `A m'
  926.      List all subscribed groups with unread articles that match a regexp
  927.      (`gnus-group-list-matching').
  928. `A M'
  929.      List groups that match a regexp (`gnus-group-list-all-matching').
  930. `A A'
  931.      List absolutely all groups that are in the active file(s) of the
  932.      server(s) you are connected to (`gnus-group-list-active').  This
  933.      might very well take quite a while.  It might actually be a better
  934.      idea to do a `A m' to list all matching, and just give `.' as the
  935.      thing to match on.
  936. `A a'
  937.      List all groups that have names that match a regexp
  938.      (`gnus-group-apropos').
  939. `A d'
  940.      List all groups that have names or descriptions that match a regexp
  941.      (`gnus-group-description-apropos').
  942.    Groups that match the `gnus-permanently-visible-groups' regexp will
  943. always be shown, whether they have unread articles or not.  You can also
  944. add the `visible' element to the group parameters in question to get
  945. the same effect.
  946.    Groups that have just ticked articles in it are normally listed in
  947. the group buffer.  If `gnus-list-groups-with-ticked-articles' is `nil',
  948. these groups will be treated just like totally empty groups.  It is `t'
  949. by default.
  950.